1. Technical Field
The present invention is related to a storage device having an error recovery function. In particular, it is related to a disk storage device having an error recovery procedure (ERP) comprising a self-diagnostic feature.
2. Description of the Related Art
In disk storage devices, when reading data from a disk storage medium, defects of the disk and track mis-registration, etc. may result in read errors. When these errors occur, for a high readability, the error recovery procedure (ERP) comprising the error recovery steps, such as retry and change of parameters, is executed to repair the errors.
Usually, for the errors in the data area, the ECC (error correction code) which is a general error recovery code is used to execute the error recovery process. Furthermore, a variety of error recovery steps, such as change of reading gains, change of offtracks, and in the case where a magneto-resistive (MR) element is used as a reading head, change of bias values of the MR element, are executed. Once these error recovery steps are executed, the data is read again. If the rereading has succeeded, the data continues to be used. If the recovery by the error recovery procedure fails it results in hard error, or if the data can be re-recorded (reassigned) to another area, the area concerned on the disk is regarded as an unavailable area, and the data is reassigned to the other area.
The recent disk device utilizes a magneto-resistive head or giant MR (GMR) head. It reads data by utilizing the property of the MR element that its resistivity is changed due to the change of the magnetic field. However, one of the reading errors which occur in this method for reading the change of resistance is a Thermal Asperity (TA). The Thermal Asperity refers to a projection which is generated on the disk colliding against the reading head to cause the change of resistance due to the change of temperature to occur in the MR element. Thereby, an abnormal signal is generated.
As a countermeasure to the error for this Thermal Asperity, there is a method of changing the circuit by constant filtering of the output signal of the head (making the frequency response faster) to relatively shorten the TA waveform so as to be enabled to read. This is also configured as a portion of the above error recovery procedure (ERP).
For the errors in reading and writing data, there are a variety of countermeasures as mentioned above. They are usually stored as a series of steps of the ERP. Once the ERP is started, these steps are executed sequentially.
As mentioned above, there are a variety of factors of error generation. Therefore, the ERP which is effective for these various error factors is required. The ERP typically executes rereading by changing and adjusting one-by-one the standard reading conditions defined among the disk, magnetic head, and HDC (hard disk controller). Here, the reading conditions are, for example, an amount of the offtrack which is the amount of discrepancy between the center of the magnetic head and the center of the track, a value of the bias current supplied to the MR element in the case where the MR element is provided as the magnetic head, an adjustment of the automatic gain control (AGC) which is provided for the constant amplitude of the regenerated signal, and an adjustment of the speed of the PLL circuit for the stabilized sampling frequency, etc.
Usually, a plurality of error recovery steps are registered with the ERP. These steps are executed in a predetermined order. Each time each step is finished, retry (rereading) is executed. The ERP is finished when the retry has succeeded. If the retry has not succeeded, the ERP is finished when the preset maximum number of times of retry is reached, or the final step of the ERP is finished.
The ERP also comprises steps requiring considerable time to be executed. Executing all of these error recovery steps may take time of the order of from over ten seconds to several tens of seconds.
Conventionally, the time required to time out for a read instruction from the host system is typically about 30 seconds, but some recent systems time out earlier than that. Thus, some systems may be unable to execute all the steps of the ERP.
As a method for solving such a problem, in Published Unexamined Patent Application No. 10-134528, the applicant has suggested a method of changing the order of execution of each error recovery step based on the history of past errors. And, in Japanese Patent Application No. 8-307743, the applicant has suggested a method of continuing to execute the ERP until the final step even if the time out occurs.
However, the recent ERP comprises error recovery steps such as the initialization of the GMR element, which are effective only for particular errors, but if being executed too frequently, have a risk of facilitating the degradation of the head, etc. Such steps were registered as later steps in the ERP so as to reduce the frequency of the execution.
And, in the conventional ERPs, there was not an ERP which, during execution of the ERP, while self-diagnosing the cause of error, changes dynamically the error recovery steps.
On the other hand, in the case where errors occur when writing data to a sector, rewriting is executed after the execution of the ERP, and if writing is still not possible, the concerned data to be written will be reassigned to another sector. In this case, there are mainly two causes since the conventional ERPs are configured without reference to the precision of the Track Following: (1) Write Abort due to the TA and defects of the disk existing in a particular servo sector; and (2) Write Abort due to the degradation of the positioning of the head due to the RRO (Repeatable Run Out) component of the spindle motor.
In the case of (1), the probability that rewriting succeeds by the execution of the ERP is relatively low. It is more efficient to reassign immediately than to spend time to execute the ERP.
In the case of (2), differing from the case of (1), there is no defect which makes it physically impossible to write. The possibility that the writing succeeds by execution of the ERP and rewriting is relatively high. Therefore, the ERP should be executed until a certain step or the final step.
In the prior art, it is not possible to determine when either of the two cases as mentioned above is the cause of error. Therefore, the ERP was executed indiscriminately even if immediate reassigning should be executed as in the case of (1).
An object of the present invention is to provide an ERP which, during execution of the ERP, while self-diagnosing the cause of error, changes dynamically the error recovery steps.
Another object of the present invention is to provide an ERP which can recover from the errors adequately and in a short time (with a few steps) according to the cause of error.
Furthermore, another object of the present invention is to provide an ERP in which the execution of the error recovery steps unsuitable for the cause of error is eliminated, and the degradation of the head, etc. caused by that can be prevented.
Furthermore, another object of the present invention is to provide a means of determining the cause of error.
Furthermore, another object of the present invention is to provide a means of selecting whether or not to execute the ERP according to the cause of error.
Furthermore, another object of the present invention is to make the response of the disk storage device to the host system faster by reassigning without execution of the ERP, in the case of an error due to a particular cause.
According to the present invention, the error status is detected, and according to the detected error status, an appropriate ERP is selected and executed.
And, in another embodiment of the present invention, the precision of the Positioning is measured during the Track Following, and when the measured value is equal to or more than a certain value, it is determined that the RRO component resulted from the spindle, etc. is large, and the ERP continues to be executed. In the case where it is determined as a result of the measurement that the TA or the defect of the disk exists in a particular servo sector, the countermeasure to TA is taken, and if recovery is still not attained, the ERP is terminated, and reassigning is conducted.
Furthermore, the method according to the present invention for executing the ERP comprising a plurality of error recovery steps in the storage device comprises the steps of detecting the error status, selecting the error recovery steps in response to the detected error status, and executing the selected error recovery steps. The device according to the present invention for executing the ERP comprising a plurality of error recovery steps comprises the means of detecting the error status, selecting the error recovery steps in response to the detected error status, and executing the selected error recovery steps.
And furthermore, the method according to the present invention for executing the ERP comprising a plurality of error recovery steps in the storage device comprises the steps of measuring the servo stability, selecting the error recovery steps in response to the measured servo stability, and executing the selected error recovery steps. The device according to the present invention for executing the ERP comprising a plurality of error recovery steps comprises the means of measuring the servo stability, selecting the error recovery steps in response to the measured servo stability, and executing the selected error recovery steps.